約 4,309,681 件
https://w.atwiki.jp/expn1865/pages/22.html
Ultimate Dominators 7th Round(攻城戦 第7ラウンド) Eng ①Yes if you can please attack S1458 this week and secure it please. ②Make sure to destroy at least one ruin and the capital fully. ③After that. Join the S770 attack. ④Do not attack S188 and S591. Jp ①今週はS1458を攻撃して確保します。 ②少なくとも、1つの遺跡と首都を完全に破壊します。 ③その後、S770の攻撃に参加します。 ④S188とS591には攻撃しないでください。
https://w.atwiki.jp/creepingdestroyertkm/pages/22.html
タイトルロゴ、変更。 -- (神(ぶたいちょー)) 2014-12-08 16 54 23
https://w.atwiki.jp/creepingdestroyertkm/pages/21.html
いいっすよ! -- (ぶたいちょー) 2014-12-07 10 37 14
https://w.atwiki.jp/dow2jpmodwiki/pages/67.html
9076737Space Marine Tactical Bolter Squad 9076738Nemerian 9076739Eldar Ranger and Sniper 9076743Ranger Boss 9076746Warp Spider 9076747Warp Spider 9076748Warp Spider Exarch 9076749Warp Spider Squad 9076753Warp Spider Boss 9082233Requires Improved Rally Upgrade 9084085Tyranid Carnifex Boss 9084088Tyranid Carnifex Boss 9084091Tyranid Warrior Boss 9084097Tyranid Hive Tyrant Boss 9084100Tyranid Hive Tyrant Boss 9084103Tyranid Zoanthrope Boss 9084106Tyranid Zoanthrope Boss 9084109Tyranid Devouer Ravener 9084112Tyranid Devouer Ravener 9084115Tyranid Lictor Boss 9084118Tyranid Lictor Boss 9084121Consume mass quantities! 9084122Tyranid Warrior 9084123Warrior 9084124Tyranicus Gladius 9084129Smash! Maim! Destroy! 9084130Tyranid Hive Tyrant 9084131Hive Tyrant 9084132Tyranicus Praefacto 9084133Smash! Maim! Destroy! 9084134Hive Tyrant 9084135Hive Tyrant 9084136Tyranicus Praefacto 9084137Smash! Maim! Destroy! 9084138Tyranid Carnifex 9084139Carnifex 9084140Tyranicus Voracio 9084141Smash! Maim! Destroy! 9084142Tyranid Carnifex 9084143Carnifex 9084144Tyranicus Voracio 9084145Consume mass quantities! 9084146Tyranid Zoanthrope 9084147Zoanthrope 9084148Tyranicus Animus Aborrens 9084149Consume mass quantities! 9084150Tyranid Zoanthrope 9084151Zoanthrope 9084152Tyranicus Animus Aborrens 9084153Consume mass quantities! 9084154Tyranid Devouer Ravener 9084155Ravener 9084156Tyranicus Ophidius Subterra 9084157Consume mass quantities! 9084158Tyranid Devouer Ravener 9084159Ravener 9084160Tyranicus Ophidius Subterra 9084161Smash! Maim! Destroy! 9084162Tyranid Lictor 9084163Lictor 9084164Tyranicus Chameleo 9084165Smash! Maim! Destroy! 9084166Tyranid Lictor 9084167Lictor 9084168Tyranicus Chameleo 9084331Brood Nest 9084332Brood Nest 9084333Hive Node 9084334Hive Node 9084335Mycetic Spore 9084336Mycetic Spore 9084337Mycetic Spore 9084338Mycetic Spore 9084377Reinforcement Beacon 9084378Fall back and reinforce at this beacon 9084417Space Marine Drop Pod 9084418Drop Pod 9085925Assault Cannon 9085926The Assault Cannon is a powerful ranged weapon effective against infantry and heavy infantry. Reduces the Dreadnought s melee effectiveness and removes the ability to inspire nearby allies. Also removes the Emperor s Fist ability and grants the Assault Cannon Barrage ability in its stead. 9086106Warrior Den 9086107Unlocks the Warrior unit 9086137Support the Imperial Guardsmen 9086138Allied Imperial Guard squads are under attack from Orks north of your current position. Support them and destroy the Ork presence. 9086142Warrior Biomorphs 9086143Unlocks the Warrior weapons and squad leader. 9086145Earsplitter 9086146Heavy Bolter 90861481% Chance to Lower Target s Armor by 15 9086154Lictor Biomorphs 9086155Increase the damage and health of the Lictor. 9086235Gaunt health 1 9086236Increase the health of your Gaunts. 9086238Raid Against the Warboss 2 9086239Gaunt damage 1 9086240Increase the damage of your Gaunts. 9086247Level %1LEVEL% 9086278%1EXP% XP 9086294Ravener Biomorphs 9086295Unlocks burrowing, squad leaders and devourer weapon. 9086305Tier2 9086314Ravener Tunnel (Entrance) 9086315Tyranid Tunnel that allows infantry to travel through. 9086323Tunnel 9086324Create a persistent tunnel which allied infantry can travel through. 9086946Level 3 Hive 9086947Carnifex Spore Mines 9086948Allows the Carnifex to launch Spore Mines which are good at taking out enemy troops. 9086951Level 3 Hive 9086952Warrior Health 9086953Increase the health of the warrior squads. 9087707NPC Twin-Linked Shoota 9087714Superior Missile Launcher 9087741Move to the Ruins 9087742More Orks are incoming. Find cover in the ruins to the East and destroy the Orks. 9087760Firte a psychic bolt with a large blast area. Effective versus infantry. 9087762Plasma Cannon 9087767Capillary Tower (Large) 9087768Capillary Towers terraform the area, providing bonsues for nearby Tyranids. 9087775Capillary Tower (Medium) 9087776Capillary Towers terraform the area, providing bonsues for nearby Tyranids. 9087804Tyranoform 9087805Cause capillary towers to erupt from the ground, damaging enemies and transforming the area. Provides bonuses to nearby Tyranids. 9087859Bolter 9087864Bolter 9087880Power Armor 9087881Power Armor 9087882Power Armor 9087883Power Armor 9087885Power Armor 9087886Power Armor 9087888Power Armor 9087890MK VII Aquila Armor 9087891Power Armor 9087892Power Armor 9087893Power Armor 9087894Power Armor 9087895Power Armor 9087896Power Armor 9087897Power Armor 9087898Power Armor 9087899Power Armor 9087900Power Armor 9087901Power Armor 9087903Power Armor 9087904Power Armor 9087905Power Armor 9087906Power Armor 9087907Power Armor 9087908Power Armor 9087909Power Armor 9087911Power Armor 9087912Power Armor 9087913Power Armor 9087914Power Armor 9087915Power Armor 9087916Power Armor 9088005Flesh Hooks 9088006Fire barbed hooks to damage enemy infantry and pull a target towards you. 9088011Hold the Pass 9088015Reduced Range 9088016Reduced Rate of Fire 9088018Move close to the beacon to call squad reinforcements. 9088037Sighted Fury of the Forge World 9088039Sniper Rifle 9088042Squad Selection 9088043Orks transport advancing 9088044Orks are invading the area from somewhere close. Proceed north and locate the source, eliminating all in your path. 9088045Locate Avitus 9088046Avitus has fallen in battle. Locate him and revive your brother Space Marine. 9088047Secure the Drop Zone 9088048Secure the area and locate Sergeant Avitus. 9088049Destroy the Ork resistance 9088084Requisition Point 9088085Gives the Requisition resource 9088150Avitus (Terminator) 9088162Sergeant Avitus is a cold leader who handles the heaviest of weapons and is best suited to long-ranged combat where he may unleash his fury uninterrupted. 9088163Marine Avitus 9088164Avitus 9088165Terminator Squad 9088173Ork Mine 9088178Devastator Marine (Terminator) 9088183Tactical Marine 9088188Consume mass quantities! 9088189Tyranid Ripper 9088195Assault Terminator 9088368Revive 9088387Fire concentrated psychic energy at a target. 9088428Repair 9088429Repairs allied vehicles and structures. 9088592Teleport 9088593Teleport to the designated location. 9088635To All 9088636To Team 9088637Kill the Ork Scouts 9088638Ork scouts could sound the alarm. Eliminate them. 9088647%1CUR% of %2MAX% squads selected 9088688Suppresses Enemies 9088701Does not require reloading 9088708Can fire while moving 9088709New Campaign 9088710Begin a new campaign! 9088715Missile Launcher 9088716Missile Launcher 9088717Missile Launcher 9088718Missile Launcher 9088719Suppresses Enemies 9088723Reduced Range 9088746One more bug fer me ta stomp. 9088747Dat s my spot dey got it on! Smash it! 9088748Smash dat gun and da Grots innit! 9088749Dat don even bleed! Zog it, let s stomp it anyway. 9088750Dat s not me banner! Waaagh! 9088751Sneaky, pretty and weak. Jus like all dem Eldar. 9088752S already mine. Jus don t know it yet. 9088753Dis ere iz mine! Mine!! 9088754Victory in da makin boyz! Let s get it! 9088755Victory fer da Orks! Victory fer me! 9088756Wake yer puny, shiny arse up, Eldar. 9088757Not done fightin ! Not done fightin ! 9088758I m da Boss, an I sez up! 9088759No dyin till I tell ya ta die! 9088760Get up, humie! Else I ll just throw you at em! 9088761Dis ain t no sleepy time! Up! 9088762Get up, ya buggy sack of squig droppings! 9088763I m not done wiv you yet. 9088764Dere s a ting ta make me rich. 9088765Ooo, I gots ta have me that ting. 9088766See dat humie in white? Gonna make is blood stand out. 9088767Dat Eldar s a Boss? But she s so puny! 9088768A humie Boss, an he looks like he want s ta fight. Dat s good, me too! 9088769Dere s some boyz want a join me Waaagh! 9088770Nids got a Hive Tyrant, I see. Fine killin it ll make. 9088771I seez a Kommando oo thinks he s a Boss. Gonna educate im. 9088772Lictor ahead. Nothing worse den a sneaky bug. 9088773Dem Orks got a Mek fer a boss! Dat s jus sad, dat is. 9088774Ravener snake-thingy s leading dem Nids. Haven t tasted one of dose yet. 9088775A humie Mek fightin against us. Da sad leading da weak, dat iz. 9088776Dem other Orks got themselve a so-called Boss. S killin time. 9088777Ooo, dat Eldar s extra sparkly. A Warlock, right? 9088778Ah, Eldar s got a Warp Spider as a boss. Best meat s in da limbs, I hear. 9088779I smashed dere kit. 9088780No more tunnelin ya gitz! 9088781Humie beacon s all quiet now. 9088782All of yiz dead in dere? Good. 9088783Anyone feelin safe inside? Dat s cuz yer dead! 9088784All of em dead in dere. 9088785Dat s got no one inside now. 9088786I m da only power you lot gonna get! 9088787Hit em h ard enough an Eldar turn ta paste. 9088788More pointy elmets fer me trophy rack. 9088789Heh! Got boyz on me boot! 9088790I m da Boss! And youz da Corpse! 9088791Hard onna outside, but squishy onna inside. 9088792I never tire of killin Space Marines! 9088793Never sure if I should squash Nids or tear em limb from limb. 9088794Nid killin - fun fer all da ord. 9088795Right. What we smashin next? 9088796An stay outta me way! 9088797Eldar shoota s done shooting pretty lights. 9088798Weak little healing station. S gone now. 9088799Popped dat node like a wart on a squig. 9088800Dat listening posts done, now let s take dis spot. 9088801Grot gunnerz is dead an burried. 9088802Looks better as rubble anyway… 9088803Buildin is fer dose who can t smash! 9088804Wuz blockin me view, dat was. 9088805Right! Now lets stomp some actual humies, yeah? 9088806I spitz on da banner of any other Ork! 9088807Hah! Eldar gate things snap jus like Eldar limbs. 9088808Oi! Shoot me from hidin ?! Me!? Get me a gitfinda! 9088809Boyz! Run at dat hidin git an drive im out! 9088810Heh heh! Puny runtz wanna fight. 9088811Come an fight den! 9088812I loves getting stuck in! Loves it! 9088813Oh, I m mad now. 9088814Dis hammer s gonna get a a LOT of use. 9088815I m da Boss, an dis sez so. 9088816C mere you lot, gotta test me new iron skull. 9088817Dis ere iz a ting of beauty, it is. 9088818Snip snip, little runts. 9088819Zog dat s sharp! I luvs it! 9088820Heh, heh! Oo s skull iz next fer me rack? 9088821Da Boss sez move outta ere! 9088822You lot stay ere fer da show. 9088823Stikkbombz a smokin ! 9088824Leg it from dat bomb! 9088825Teleport 9088826Teleport to the chosen location. 9088828Our allies are suffering casualties. 9088829Allied infantry units have been destroyed. 9088830The enemy has destroyed one of our structures. 9088831We have lost a structure to the enemy. 9088832Our allies have lost a structure. 9088833An allied vehicle has fallen. 9088834Our allies have lost a vehicle. 9088835An allied Apothecary has been incapacitated. 9088836An allied Force Commander has been incapacitated. 9088837An allied Techmarine has been incapacitated. 9088838An allied Farseer has been incapacitated. 9088839An allied Warlock has been incapacitated. 9088840An allied Warp Spider has been incapacitated. 9088841An allied Warboss has been incapacitated. 9088842An allied Mekboy has been incapacitated. 9088843An allied Kommando has been incapacitated. 9088844An allied Hive Tyrant has been incapacitated. 9088845An allied Ravener has been incapacitated. 9088846An allied Lictor has been incapacitated. 9088847Our ally s headquarters has been destroyed. 9088848One of our Listening Posts has been destroyed. 9088849One of our Generators has been destroyed. 9088850One of our Support Structures has been destroyed. 9088851One of our Healing Stations has been destroyed. 9088852An allied forward operations relay has been lost. 9088853An allied structure has been destroyed. 9088854An ally s Waaagh Banner has been destroyed 9088855An ally s Webway portal has been destroyed. 9088856An ally s Burrow Tunnel has been destroyed. 9088857Our Burrow Tunnel has been destroyed. 9088858One of our hive nodes has been destroyed, 9088859Our base structure has been destroyed. 9088860Hive Tyrant hero incapacitated. 9088861Ravener hero incapacitated. 9088862Lictor hero incapacitated. 9088863The enemy has only five points remaining. 9088864The enemy has ten points remaining. 9088865The enemy has only twenty-five points remaining. 9088866The enemy has only fifty points remaining. 9088867The enemy has seventy-five points remaining. 9088868The enemy has one hundred points remaining. 9088869The enemy has one hundred and fifty points remaining. 9088870The enemy has two hundred points remaining. 9088871The enemy has two hundred and fifty points remaining. 9088872The enemy has three hundred points remaining. 9088873We have only five points remaining. 9088874We have only ten points remaining. 9088875We have only twenty-five points remaining. 9088876We have only fifty points remaining. 9088877We have seventy-five points remaining. 9088878We have one hundred points remaining. 9088879We have one hundred and fifty points remaining. 9088880We have two hundred points remaining. 9088881We have two hundred and fifty points remaining. 9088882We have three hundred points remaining. 9088883The enemy is attacking a listening post. 9088884Listening post under attack. 9088885Generator under attack. 9088886The enemy has targeted a generator. 9088887Burrow Tunnel under attack. 9088888Burrow Tunnel taking damage, 9088889Our base building is under attack. 9088890The enemy is damaging our base building. 9088891Base building under attack. 9088892An ally s base is under attack. 9088893Our teammate s Webway gate is under attack. 9088894Our teammate s Waaagh banner is under attack. 9088895Our ally s forward operations point is under attack. 9088896An ally s burrow tunnel is under attack. 9088897One of our structures is being attacked. 9088898The enemy has targeted our structure. 9088899One of our structures is under attack. 9088900One of our support structures is under attack. 9088901One of our generators is under attack. 9088902An ally s forces are coming under attack. 9088903A healing station is under enemy attack. 9088904An ally s headquarters is under attack. 9088905One of our Listening Posts is under attack. 9088906An allied hero unit is under attack. 9088907A Hive Node is under attack. 9088908A burrow tunnel is under attack. 9088909The Hive Tyrant is under attack. 9088910The Lictor is under attack. 9088911The Ravener is under attack. 9088912Reinforcement under way. 9088913Reinforcing squad. 9088914Squad reinforcement complete. 9088915Squad reinforced. 9088916New units on the field. 9088917Squad deployed. 9088918Hive Tyrant revived. 9088919Lictor revived. 9088920Ravener revived. 9088921Hive Tyrant respawned. 9088922Lictor respawned. 9088923Ravener respawned. 9088924Hormagaunt squad spawned. 9088925Ravener squad spawned. 9088926Lictor squad spawned. 9088927Warrior squad spawned. 9088928Zoanthrope squad spawned. 9088929Termagant squad spawned. 9088930Carnifex spawned. 9088931Ripper Swarm spawned. 9088932Allied Apothecary respawned. 9088933Allied Apothecary revived. 9088934Allied Farseer respawned. 9088935Allied Farseer revived. 9088936Allied Force Commander respawned. 9088937Allied Force Commander revived. 9088938Allied Hive Tyrant respawned. 9088939Allied Hive Tyrant revived. 9088940Allied Kommando respawned. 9088941Allied Kommando revived. 9088942Allied Lictor respawned. 9088943Allied Lictor revived. 9088944Allied Mekboy respawned. 9088945Allied Mekboy revived. 9088946Allied Ravener respawned. 9088947Allied Ravener revived. 9088948Allied Techmarine respawned. 9088949Allied Techmarine revived. 9088950Allied Warboss respawned. 9088951Allied Warboss revived. 9088952Allied Warlock respawned. 9088953Allied Warlock revived. 9088954Allied Warp Spider Exarch respawned. 9088955Allied Warp Spider Exarch revived. 9088956Upgrading. 9088957Biological upgrade under way. 9088958Upgrade complete. 9088959Unit evolution complete. 9088960Upgrade halted. 9088961Army research under way. 9088962Researching. 9088963Research complete. 9088964Army upgrade complete. 9088965Research interrupted. 9088966Hero upgrade under way. 9088967Upgrading hero. 9088968Hero evolution completed. 9088969Hero upgraded. 9088970Hero upgrade halted. 9088971Stikkbombs 9088991Boom Time! 9088992Drop a stun grenade when the Kommando retreats. Increases health of the Kommando. 9088997War_Boss_Armor 9089014Sunderhammer 9089015Thunder Hammer 9089025Our foes will feel the bite of my blade. 9089026NPC Twin-Linked Shoota 9089027Bang Bang Hammer 9089028Gives the Warboss a hammer. On a successful melee hit nearby allies are thrown into an enraged state, increasing their damage. 9089033Choppa 9089050This party no longer exists 9089051Draw the Warlock s blade. The time for mercy is long past. 9089070Capture the beacon. 9089073Enemy attacks from the North! 9089074Tyranid attacks from the South! 9089078Have no other weapon equipped 9089118%1Player% s settings are too high and are lagging the game! 9089119%1Player% s settings are too high and are lagging the game! 9089120%1Player% s settings are too high and are lagging the game! 9089121Your current audio and video settings are too high and are lagging the game! 9089122Your current audio and video settings are too high and are lagging the game! 9089123Your current audio and video settings are too high and are lagging the game! 9089224Orbs of the Omnissiah 9089225Grenades that drain energy, damage and temporarily immobilize vehicles. 9089230Frag Grenades 9089232Games Found %1NUMBER% 9089241Possible Matches %1NUMBER% 9089267Regenerate 9089269Signum Armor 9089270Increases the health of the Techmarine and the attack power of his ranged weapons. Grants the Mark Target ability. 9089275Signum Armor 9089293Victory Condition 9089294Match Type 9089295%1HOURS% %2MINUTES% 9089369Assault the Ork Camp 9089370The Orks have established a base of operations in Felhammer Mines. There are two possible entrances to the mine area, and scans indicate a communications array is near one of those entrances. 9089395Tyranid Warrior 9089448Sergeant 9089459Storm Trooper 9089466Storm Trooper Squad 9089512Capture the Stratagem 9089563Teleport 9089564Teleport to the chosen location. 9089606Eldar Guardian Squad 9089607Eldar Guardian 9089608Eldar soldiery 9089614Warp Spider 9089615Warp Spider 9089616Warp Spider Squad 9089617Eldar Ranged Jump Infantry 9089621Death From Above 9089622Warlock 9089627Warlock 9089632Storm Trooper Sergeant 9089637Jump Pack 9089638Jump Pack 9089644Imperial Guard Squad 9089648Storm Trooper Squad 9089657Reloads Less Frequently 9089658Thunder Hammer and Storm Shield 9089659Chainsword and Storm Shield 9089660Grants the Defend ability which makes nearby allies more resistant to damage. 9089666Reloads Less Often 9089667Reduced Range 9089668Cannot fire while moving 9089669Suppresses Enemies 9089670Banshee Exarch 9089675Warlock 9089680Warlock 9089685Falcon 9089690Grav Platform - Brightlance 9089695Grav Platform - Shuriken Cannon 9089700Grav Platform - D-Cannon 9089705Does not require reloading 9089706In the name of the Emperor! 9089707Howling Banshees with Executioners 9089708Howling Banshees with Executioners 9089709Medium Eldar Melee Specialists 9089713Eldar Tank 9089714Falcon 9089715Falcon 9089716Eldar Light Grav Tank 9089717Increased Rate of Fire 9089718Improved Accuracy 9089719In the name of the Emperor! 9089720Eldar Seer Council with Singing Spears 9089721Seer Council with Singing Spears 9089722Eldar Heavy Melee Troops 9089726In the name of the Emperor! 9089727Eldar Seer Council 9089728Seer Council 9089729Eldar Heavy Ranged Infantry 9089733Increased Range 9089734Warp Spider 9089735Warp Spider 9089736Warp Spider Exarchs 9089737Eldar Melee Jump Infantry 9089742Eldar Guardian Squad With Warlock 9089743Eldar Guardians With Warlock 9089744Eldar medium ranged troops 9089745No Setup Time 9089746Reduced Range 9089747Increased Rate of Fire 9089748Increased Setup Time 9089749Plasma Gun 9089750Plasma Gun 9089753Plasma Gun 9089754Increased Rate of Fire 9089755Reduced Range 9089756Hate of the Xenos 9089757Plasma Pistol 9089771Suppresses Enemies 9089772Reloads Less Frequently 9089773Ironfist 9089774Power Fist 9089780Storm Bolter 9089781Storm Bolter 9089782Storm Bolter 9089783Storm Bolter 9089784Storm Bolter 9089785Reduced weapon cooldown 9089792Terminator Power Fist 9089793Terminator Power Fist 9089794Terminator Power Fist 9089795Terminator Power Fist 9089796Terminator Power Fist 9089801Tyranids in Synapse 9089802Tyranids not in synapse 9089803Warger Bonus Enabler 9089804Warger Bonus Enabler 9089805Warger Bonus Enabler 9089807Game Length 9089819NPC Executioner 9089824NPC Witchblade (flashy) 9089825Weapons Platform - effective vs all targets 9089826D-Cannon Weapon Team 9089827D-Cannon Weapon Team 9089828Eldar Artillery Weapon Team 9089832Tier 3 9089833Battle Equipment 9089834Weapons Platform - effective vs vehicles 9089835Bright lance weapon team 9089836Bright Lance Weapon Team 9089837Eldar Anti-Armor Weapon Team 9089841Spears of Light 9089842Tier 2 9089843Weapons Platform - effective vs infantry 9089844Shuriken Cannon weapon team 9089845Shuriken Cannon Weapon Team 9089846Eldar Suppression Weapon Team 9089850Battle Equipment 9089851NPC Placeholder D-Cannon 9089853Shuriken Cannon - NO MODEL YET 9089866Farseer Armor - Common 9089867Farseer Armor - Rare 9089868Farseer Armor - Epic 9089869Assault Jump 9089870Soar over the battlefield, landing with a powerful impact that disrupts and damages enemy units. 9089872Tyranid Carnifex 9089877Tyranid Hive Tyrant 9089882Tyranid Carnifex 9089892Tyranid Lictor 9089906Powerblades 9089907Kill the Warrior 9089908Warrior Spotted 9089912Kill the Ravener 9089949Smash! Maim! Destroy! 9089950Tyranid Screamerkiller Carnifex 9089951Carnifex with Bioplasma 9089952Tyranicus Chameleo 9089953Smash! Maim! Destroy! 9089954Tyranid Venomspitter Carnifex 9089955Lesser Carnifex with Venom Cannon 9089956Tyranicus Chameleo 9089957Smash! Maim! Destroy! 9089958Tyranid Hive Tyrant 9089959Hive Tyrant 9089960Tyranicus Chameleo 9089961Smash! Maim! Destroy! 9089962Tyranid Lictor 9089963Lictor 9089964Tyranicus Chameleo 9089993Loota Boy 9089998Tankbusta Nob 9090003Basic infantry of feral Orks. 9090004Ork Lootas armed with Beamy Deffgun 9090005Beamy Lootas 9090006Ork Anti-Armor 9090007Nob with a big choppa… 9090008Nob Squad 9090009Nobz 9090010Heavy Melee Orks 9090011It s rainin Orks…! 9090012Stormboy Squad 9090013Stormboyz 9090014Ork Melee Jump Mob 9090016Ranger Armor - Rare 9090017Ranger Armor - Epic 9090018Warp Spider Armor - Rare 9090019Banshee Armor - Rare 9090020Warlock Armor - Rare 9090021Warlock Armor - Epic 9090028Requires Suppression Breaking Rally Upgrade 9090065Regroup Point 9090068Space Marine Teleportation Beacon 9090069Teleportation Beacon 9090153NPC Storm Nob Armor - Common 9090154MK VII Aquila Armor 9090155Armor Rating 2 9090156DEFAULT Armor 9090157Can Only be Replaced, Not Removed 9090158NPC Storm Nob Armor - Rare 9090159MK VII Aquila Armor 9090160Armor Rating 2 9090161DEFAULT Armor 9090162Can Only be Replaced, Not Removed 9090163NPC Storm Nob Armor - Epic 9090164MK VII Aquila Armor 9090165Armor Rating 2 9090166DEFAULT Armor 9090167Can Only be Replaced, Not Removed 9090168NPC Slugga Boy Armor - Common 9090173NPC Slugga Boy Armor - Rare 9090174MK VII Aquila Armor 9090175Armor Rating 2 9090176DEFAULT Armor 9090177Can Only be Replaced, Not Removed 9090178NPC Slugga Boy Armor - Epic 9090179MK VII Aquila Armor 9090180Armor Rating 2 9090181DEFAULT Armor 9090182Can Only be Replaced, Not Removed 9090183NPC Loota Boy Armor 9090188NPC Loota Boy Armor - Rare 9090189MK VII Aquila Armor 9090190Armor Rating 2 9090191DEFAULT Armor 9090192Can Only be Replaced, Not Removed 9090193NPC Loota Boy Armor - Epic 9090194MK VII Aquila Armor 9090195Armor Rating 2 9090196DEFAULT Armor 9090197Can Only be Replaced, Not Removed 9090198NPC Kommando Nob Armor - Common 9090203NPC Kommando Nob Armor - Rare 9090204MK VII Aquila Armor 9090205Armor Rating 2 9090206DEFAULT Armor 9090207Can Only be Replaced, Not Removed 9090208NPC Kommando Nob Armor - Epic 9090209MK VII Aquila Armor 9090210Armor Rating 2 9090211DEFAULT Armor 9090212Can Only be Replaced, Not Removed 9090213NPC Kommando Boy Armor - Common 9090218NPC Kommando Boy Armor - Rare 9090219MK VII Aquila Armor 9090220Armor Rating 2 9090221DEFAULT Armor 9090222Can Only be Replaced, Not Removed 9090223NPC Kommando Boy Armor - Epic 9090224MK VII Aquila Armor 9090225Armor Rating 2 9090226DEFAULT Armor 9090227Can Only be Replaced, Not Removed 9090228NPC Stormboy Armor - Common 9090229MK VII Aquila Armor 9090230Armor Rating 2 9090231DEFAULT Armor 9090232Can Only be Replaced, Not Removed 9090233NPC Stormboy Armor - Rare 9090234MK VII Aquila Armor 9090235Armor Rating 2 9090236DEFAULT Armor 9090237Can Only be Replaced, Not Removed 9090238NPC Stormboy Armor - Epic 9090239MK VII Aquila Armor 9090240Armor Rating 2 9090241DEFAULT Armor 9090242Can Only be Replaced, Not Removed 9090243NPC Slugga Nob Armor - Common 9090248NPC Slugga Nob Armor - Rare 9090249MK VII Aquila Armor 9090250Armor Rating 2 9090251DEFAULT Armor 9090252Can Only be Replaced, Not Removed 9090253NPC Slugga Nob Armor - Epic 9090254MK VII Aquila Armor 9090255Armor Rating 2 9090256DEFAULT Armor 9090257Can Only be Replaced, Not Removed 9090258NPC Warboss Armor - Rare 9090259NPC Warboss Armor - Epic 9090260NPC Warboss Armor - Common 9090261NPC Mekboy Armor - Common 9090266NPC Mekboy Armor - Rare 9090267MK VII Aquila Armor 9090268Armor Rating 2 9090269DEFAULT Armor 9090270Can Only be Replaced, Not Removed 9090271NPC Mekboy Armor - Epic 9090272MK VII Aquila Armor 9090273Armor Rating 2 9090274DEFAULT Armor 9090275Can Only be Replaced, Not Removed 9090276NPC Dakka Deffgun 9090277NPC Beamy Deffgun 9090322Goals 9090323Stolen Records 9090324Tyranid Rating -10% 9090395Grants the Assault Jump ability 9090396Grants the Assault Jump ability 909040585th Vendoland 9090437Day 9090438Teleporter Pack 9090439%1VALUE%%% Knockback Resistance 9090440Now that the beacon is active, we can precision drop reinforcements. 9090441Cabling will lead to the generator. 9090442What do we gain from facing this lone beast? 9090443 GROWLS 9090444 SNARLS 9090445 BREATHING 9090446 JOGGING BREATHING 9090447 RUNNING BREATHING 9090448 KNOCKBACK SHOUT 9090449Ready terminator armor. 9090450 LANDING 9090451 DEATH SCREAMS 9090452 JOGGING 9090453 KNOCKBACK 9090454 HEAVY BREATHING JOG 9090455 HEAVY BREATHING POST RUN 9090456Who ever heard of a chapter that has forgotten its Primarch? We would sooner forget our own name! 9090457There is something dark and hidden there. 9090458That s what heroism gets you. 9090459That we will, honored Techmarine. 9090460We can jump over obstacles and land in the middle of the enemy. 9090461We hit with enough force to knock over Orks and other enemies. 9090462Knocking enemies down is an excellent way to keep them from using their weapons. 9090463In addition to our jump, Assault Marines are trained to use our chainswords to knock enemies to the ground. 9090464Looting in the middle of a Tyranid infestation. I almost admire them… 9090465Looting in the middle of a Tyranid infestation. You have to hand it to them. 9090466The armor, where did it come from? 9090467The Eldar must have raided wealthy areas for them to even acknowledge a problem. 9090468Is the Governor still concerned with other priorities, then? 9090469How many are we going to kill? 9090470And if the secrets of the chapter cost me that… well, I will still stand with my brothers. 9090471Purge the Tyranids. 9090472This should be the last of them. 9090473Thule is down. 9090474Looks like the scout is down again. 9090475 Knockback 9090476 Breathing Running 9090477 Breathing Out of breath 9090478 scream 9090479Wait… where you going to be? 9090480Oi, zog! 9090481 knockback 9090482 grunts 9090483 grunts 9090484 grunts 9090485 dying grunts 9090486 scream 9090487 scream 9090488 scream 9090489Let others blanche and recoil in the face of this genocidal infestation. 9090490We are Space Marines. 9090491We know no fear. 9090492Let others retreat before an inhuman enemy who uses life itself as its twisted weapon. 9090493We are Space Marines and we arm ourselves with the purest of all weapons… 9090494Death itself. 9090495 scream 9090496Orks sighted! 9090497Space Marine drop pod! 9090498The Eldritch Storm is upon us! 9090499Human orbital artillery! To cover! 9090500The Orks bring down the very sky! 9090501The swarm turns the world against us! 9090502We have secured a Power Node for the Craftworld. 9090503An ally has secured a Power Node. 9090504We are losing a Power Node to the enemy. 9090505We have lost a Power Node to the enemy. 9090506We have secured a Requisition Point. 9090507An ally has secured a Requisition Point. 9090508We are losing a Requisition Point to the enemy. 9090509We have lost a Requisition Point to the enemy. 9090510Our Farseer has slain 5 of the Craftworld s foes. 9090511Our Farseer has slain 10 of the Craftworld s foes. 9090512Our Farseer has slain 15 of the Craftworld s foes. 9090513Our Farseer has slain 20 of the Craftworld s foes. 9090514Our Farseer has slain 25 of the Craftworld s foes. 9090515An allied champion has slain 5 foes. 9090516An allied champion has slain 10 foes. 9090517An allied champion has slain 15 foes. 9090518An allied champion has slain 20 foes. 9090519An allied champion has slain 25 foes. 9090520An enemy champion has slain 5 foes. 9090521An enemy champion has slain 10 foes. 9090522An enemy champion has slain 15 foes. 9090523An enemy champion has slain 20 foes. 9090524An enemy champion has slain 25 foes. 9090525Our Warlock has slain 5 of the Craftworld s foes. 9090526Our Warlock has slain 10 of the Craftworld s foes. 9090527Our Warlock has slain 15 of the Craftworld s foes. 9090528Our Warlock has slain 20 of the Craftworld s foes. 9090529Our Warlock has slain 25 of the Craftworld s foes. 9090530Our Warp Spider Exarch has slain 5 of the Craftworld s foes. 9090531Our Warp Spider Exarch has slain 10 of the Craftworld s foes. 9090532Our Warp Spider Exarch has slain 15 of the Craftworld s foes. 9090533Our Warp Spider Exarch has slain 20 of the Craftworld s foes. 9090534Our Warp Spider Exarch has slain 25 of the Craftworld s foes. 9090535Our Farseer has attained Level 2. 9090536Our Farseer has attained Level 3. 9090537Our Farseer has attained Level 4. 9090538Our Farseer has attained Level 5. 9090539Our Farseer has attained Level 6. 9090540Our Farseer has attained Level 7. 9090541Our Farseer has attained Level 8. 9090542Our Farseer has attained Level 9. 9090543Our Farseer has attained Level 10. 9090544Our Farseer has attained Level 11. 9090545Our Farseer has attained Level 12. 9090546Our Farseer has attained Level 13. 9090547Our Farseer has attained Level 14. 9090548Our Farseer has attained Level 15. 9090549Our Farseer has gained a level. 9090550Our Warlock has attained Level 2. 9090551Our Warlock has attained Level 3. 9090552Our Warlock has attained Level 4. 9090553Our Warlock has attained Level 5. 9090554Our Warlock has attained Level 6. 9090555Our Warlock has attained Level 7. 9090556Our Warlock has attained Level 8. 9090557Our Warlock has attained Level 9. 9090558Our Warlock has attained Level 10. 9090559Our Warlock has attained Level 11. 9090560Our Warlock has attained Level 12. 9090561Our Warlock has attained Level 13. 9090562Our Warlock has attained Level 14. 9090563Our Warlock has attained Level 15. 9090564Our Warlock has gained a level. 9090565Our Warp Spider Exarch has attained Level 2. 9090566Our Warp Spider Exarch has attained Level 3. 9090567Our Warp Spider Exarch has attained Level 4. 9090568Our Warp Spider Exarch has attained Level 5. 9090569Our Warp Spider Exarch has attained Level 6. 9090570Our Warp Spider Exarch has attained Level 7. 9090571Our Warp Spider Exarch has attained Level 8. 9090572Our Warp Spider Exarch has attained Level 9. 9090573Our Warp Spider Exarch has attained Level 10. 9090574Our Warp Spider Exarch has attained Level 11. 9090575Our Warp Spider Exarch has attained Level 12. 9090576Our Warp Spider Exarch has attained Level 13. 9090577Our Warp Spider Exarch has attained Level 14. 9090578Our Warp Spider Exarch has attained Level 15. 9090579Our Warp Spider Exarch has gained a level. 9090580The Webway Assembly has been destroyed. 9090581An allied headquarters building has been destroyed. 9090582We have lost a support platform to the enemy. 9090583An ally has lost a turret to the enemy. 9090584New warriors are available to join the battle. 9090585New vehicles are now available to us. 9090586The Craftworld has prepared new wargear for our champion. 9090587Human drop pod! 9090588A seer unleashes her might! Flee or be destroyed! 9090589Fire from the sky! To safety, Banshees! 9090590Ork bombardment! 9090591The soil mutates to the whim of the hive! 9090592Humie drop fingy! 9090593S a weird-storm! Get clear ya gitz! 9090594Dakka from da sky! Leg it! 9090595Dey z droppin roks! 9090596Dem Nids jus decorated da place! 9090597Boss, our boyz got you one of dem Power Nodes! 9090598Some allied boyz got a Power Node. 9090599We z losing a Power Node to da enemy, Boss! 9090600Garh! We lost a Power Node! 9090601Da Requisition Point iz ours, Boss! 9090602An ally got a Requisition Point, Boss. 9090603Da enemy s taking one of our Requisition Points! 9090604Dat s it! Da enemy took dat Requisition Point right from under our noses! 9090605Um, da boyz ya sent ta get dat point? Dey re not coming back… 9090606An allied boss s killed 5 gitz inna row. 9090607An allied boss s killed 10 gitz inna row. 9090608An allied boss s killed 15 gitz inna row. 9090609An allied boss s killed 20 gitz inna row. 9090610An allied boss s killed 25 gitz inna row. 9090611An enemy boss s killed 5 gitz inna row. 9090612An enemy boss s killed 10 gitz inna row. 9090613An enemy boss s killed 15 gitz inna row. 9090614An enemy boss s killed 20 gitz inna row. 9090615An enemy boss s killed 25 gitz inna row. 9090616Our Kommando s skragged 5 gitz inna row. 9090617Our Kommando s skragged 10 gitz inna row. 9090618Our Kommando s skragged 15 gitz inna row. 9090619Our Kommando s skragged 20 gitz inna row. 9090620Our Kommando s skragged 25 gitz inna row. 9090621Our Mekboy s skragged 5 gitz inna row. 9090622Our Mekboy s skragged 10 gitz inna row. 9090623Our Mekboy s skragged 15 gitz inna row. 9090624Our Mekboy s skragged 20 gitz inna row. 9090625Our Mekboy s skragged 25 gitz inna row. e s so cunning. 9090626Our Warboss s skragged 5 gitz inna row. 9090627Our Warboss s skragged 10 gitz inna row. 9090628Our Warboss s skragged 15 gitz inna row. 9090629Our Warboss s skragged 20 gitz inna row. 9090630Our Warboss s skragged 25 gitz inna row. ORKS ORKS ORKS! 9090631Da Kommando s Level 2! 9090632Da Kommando s Level 3! 9090633Da Kommando s Level 4! 9090634Da Kommando s Level 5! 9090635Da Kommando s Level 6! 9090636Da Kommando s Level 7! 9090637Da Kommando s Level 8! 9090638Da Kommando s Level 9! 9090639Da Kommando s Level 10! 9090640Da Kommando s Level 11! 9090641Da Kommando s Level 12! 9090642Da Kommando s Level 13! 9090643Da Kommando s Level 14! 9090644Da Kommando s Level 15! 9090645Da Kommando s gone up a level! 9090646Da Mekboy s Level 2! 9090647Da Mekboy s Level 3! 9090648Da Mekboy s Level 4! 9090649Da Mekboy s Level 5! 9090650Da Mekboy s Level 6! 9090651Da Mekboy s Level 7! 9090652Da Mekboy s Level 8! 9090653Da Mekboy s Level 9! 9090654Da Mekboy s Level 10! 9090655Da Mekboy s Level 11! 9090656Da Mekboy s Level 12! 9090657Da Mekboy s Level 13! 9090658Da Mekboy s Level 14! 9090659Da Mekboy s Level 15! 9090660Da Mekboy s gone up a level! 9090661Da Warboss is Level 2! 9090662Da Warboss is Level 3! 9090663Da Warboss is Level 4! 9090664Da Warboss is Level 5! 9090665Da Warboss is Level 6! 9090666Da Warboss is Level 7! 9090667Da Warboss is Level 8! 9090668Da Warboss is Level 9! 9090669Da Warboss is Level 10! 9090670Da Warboss is Level 11! 9090671Da Warboss is Level 12! 9090672Da Warboss is Level 13! 9090673Da Warboss is Level 14! 9090674Da Warboss is Level 15! SINGING 9090675Da Warboss s gone up a level! 9090676Got more sorts a boyz ready fer ya, Boss! 9090677Got some new wagonz ready, Boss! 9090678Da meks ve got new Wargear fer da Boss! 9090679Enemy drop pod inbound! 9090680The Eldar unleash their Warp powers! 9090681Hostile orbital artillery! Clear the area! 9090682Ork meteor attack! To cover! 9090683The ground becomes poison! 9090684We have secured a Power Node for the Chapter. 9090685An ally has secured a Power Node. 9090686We are losing a Power Node to the enemy. 9090687We have lost a Power Node to the enemy. 9090688We have secured a Requisition Point. 9090689An ally has secured a Requisition Point. 9090690We are losing a Requisition Point to the enemy. 9090691We have lost a Requisition Point to the enemy.
https://w.atwiki.jp/thunderstone/pages/320.html
Thorn Caltrops カードタイプ:Village/村 エキスパンション:Caverns of Bane(Advance) 英語版 Card Name Number Class Cost Gold Weight Light VP Text Thorn Caltrops 8 Weapon 3 1 Cancel Raid effects.br()Physical Attack +1Dungeon Destroy this card to cancel 1 Battle effect. 日本語版(仮訳) カード名 枚数 分類 コスト 金貨値 重量 明かり 勝利点 テキスト 茨の撒菱 8 武器 3 1 急襲効果を打ち消す。物理攻撃+1ダンジョン:このカードを廃棄することで戦闘効果をひとつ打ち消す。 カード解説/CARD GLOSSARY カード分析 所感 Caltropは忍者が使うとされる撒菱の西洋版。金属加工品をイメージしがちだが、これは茨で出来ている。余談だが、Caverns of Baneに収録されている武器は全て植物から出来ている。 ばら撒くことで敵の接近を妨げる用法をイメージしてか、モンスターの特殊効果を打ち消す能力を2種有する。 特殊能力を活かさず、素の武器として使うと攻撃+1金貨値なしと基本カードにも劣る酷い性能。にもかかわらず武器であるがゆえに、装備されている状態でないと打ち消し能力は両方とも使用できない。 急襲打消し能力は使い回しが効く。だが急襲は察知が非常に困難。いつ発動するかわからない効果のために装備枠を攻撃+1に割かなければいけないのは心苦しい。なにより急襲持ちの数がさほど多くないため、有効活用はなかなか大変。 ホール補充時に場にある必要があるため、廃棄を要するもう一つの能力と同時に使用できるケースは稀。 戦闘効果打消しも一度英雄に装備してやる必要がある。廃棄により英雄は装備を失うが、ここに別の武器を持たせることはできない。(英雄は1手番に一度しか装備ができない) こちらの能力を起動した場合、装備枠を圧迫するだけでなく、攻撃力を戦闘に加算することすらできなくなる。 戦闘効果の打ち消しを持つ武器としては、他にPikeがあるが、あちらは攻撃にそのまま転用できる。対してこれの利点は打ち消せる戦闘効果に制限がかかっていないこと。またコストが1安いことなどが上げられる。 同じく使い捨てキャンセル持ちのVeilminder Martyrと比べても、こちらは成長の余地がない。心置きなく使い捨てることができるだろう。 戦闘効果の厳しいモンスターが多い状況でなら、手が空いたときにお守りとしての購入するのは選択肢に入る。攻撃力にははなから期待しないでおこう。 武器としては珍しく、金貨値を持たない。呪いシリーズの金貨値0ともまた違う。お守りとして活用する場合、村で役立たずなのは問題。一度に所持するのはせいぜい1~2枚にとどめ、使い捨ててから次を仕入れる方針でいこう。 強敵モンスターの中には、強さを戦闘効果に依存しているものも少なくはない。そういった相手を見かけたら泥縄で買うのもありかもしれない。 珍しく「武器」以外の属性を持たない。が、現時点ではこのことはメリットにもデメリットにもならない。 シナジー アンチシナジー 得意なモンスター 苦手なモンスター クラシック版カード使用時
https://w.atwiki.jp/autoit/pages/15.html
AutoIt ライセンス 以下は AutoIt のライセンスです。本家の最新版は こちら 。 AutoIt Author Jonathan Bennett and the AutoIt Team WWW http //www.autoitscript.com/autoit3/ Email support at autoitscript dot com ________________________________________________________ END-USER LICENSE AGREEMENT FOR THIS SOFTWARE This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and the mentioned author of this Software for the software product identified above, which includes computer software and may include associated media, printed materials, and "online" or electronic documentation ("SOFTWARE PRODUCT"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, do not install or use the SOFTWARE PRODUCT. SOFTWARE PRODUCT LICENSE The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold. The definition of SOFTWARE PRODUCT does not includes any files generated by the SOFTWARE PRODUCT, such as compiled script files in the form of standalone executables. 1. GRANT OF LICENSE This EULA grants you the following rights Installation and Use. You may install and use an unlimited number of copies of the SOFTWARE PRODUCT. Reproduction and Distribution. You may reproduce and distribute an unlimited number of copies of the SOFTWARE PRODUCT either in whole or in part; each copy should include all copyright and trademark notices, and shall be accompanied by a copy of this EULA. Copies of the SOFTWARE PRODUCT may be distributed as a standalone product or included with your own product. Commercial Use. You may use the SOFTWARE PRODUCT for commercial purposes. You may sell for profit and freely distribute scripts and/or compiled scripts that were created with the SOFTWARE PRODUCT. Reverse engineering. You may not reverse engineer or disassemble the SOFTWARE PRODUCT. 2. COPYRIGHT All title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by the Author of this Software. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material. MISCELLANEOUS If you acquired this product in the United Kingdom, this EULA is governed by the laws of the United Kingdom. If this product was acquired outside the United Kingdom, then local law may apply. Should you have any questions concerning this EULA, or if you desire to contact the author of this Software for any reason, please contact him/her at the email address mentioned at the top of this EULA. LIMITED WARRANTY 1. NO WARRANTIES The Author of this Software expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation is provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties or merchantability, fitness for a particular purpose, or non-infringement. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you. 2. NO LIABILITY FOR DAMAGES In no event shall the author of this Software be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this product, even if the Author of this Software has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you. [END OF LICENSE]
https://w.atwiki.jp/dslbookwip/pages/12.html
このページはhttp //martinfowler.com/dslwip/Intro.htmlからの引用です | DSL-WIP Home | WORK-IN-PROGRESS - this material is still under development An Introductory Example Last significant update 06 Aug 07 Contents Miss Grant s Controller The State Machine Model Programming the Controller with a Domain Specific Language Languages and Model Using Code-Generation Using Language Workbenches Visualization Picking up this book, you may be asking yourself such questions as what is a DSL , how does it fit in with my usual development work and why would I find such a thing useful ? This chapter begins by looking at these questions. I ll talk about what a DSL is, the various types of DSL, the reasons to use a DSL, and the broader topic of language processing. At this stage I won t talk about how the various styles of DSL work - we ll get into that later. Miss Grant s Controller As is usual for me, I ll base this discussion on an example, as I find that a concrete example usually makes it easier to follow an abstract topic like this. Let s imagine a company that makes systems to control access to secret compartments. Their customers are people who are bored with numeric keypads and security codes, instead preferring something recalling bad movies set in gothic castles. So Miss Grant has a secret compartment in her bedroom that is normally locked and concealed. To open it she has to close the door, open the second draw in her chest, turn her bedside light on - and then the secret panel is unlocked for her to open. Mr G has the same basic system for a panel in his bedroom. He has to open his bathroom door and turn on the main light which allows him to open the panel. The panel reveals a safe, but it has an overriding lock that cannot be opened unless he turns his light off and on again. Mr C has a compartment in his office, he has to close his main door, take a picture off the wall, turn his desklight on three times, open the top draw of his filing cabinet, turn the desklight off - and then the panel s unlocked. If he forgets to turn the desklight off, he wants an alarm to sound. Although this example is deliberately whimsical, the underlying point isn t that unusual. What we have is a family of systems which share most components and behaviors, but have some important differences. In this case we have some kind of controller software which communicates with various devices around the room. The variability is in the sequence of actions that can be carried out and the actions that the software does as a result of these sequences. We want to arrange things so that the company can install a new system with the minimum of effort, so it must be easy for them to program the sequence of actions into the controller. Looking at their many customers they realize there is a common theme to the way they behave. The various devices send events as they are manipulated. The system reacts differently to events depending on the recent sequence of events. This style of thinking about behavior is that of a state machine. Thus it makes sense to build a model of a state machine that can be programmed for individual customers at each site. That way the general behavior can be resued for each customer and setting up a new customer just means writing the specific things for each case. The software is written in java, running on a job lot of toasters they picked up from a failed dot com. The State Machine Model There are many varieties of state machine models around, this one is simple, and with a little twist for the this particular case. There are frameworks out there to run state machines, but we can do with something much simpler that s more suited to this particular domain. By doing this we give up some power for an easier job working with it. This issue isn t really part of the DSL discussion so I won t explore it further. To help understand how the state machine model works, let s take Miss Grant s system. Figure 1 State diagram for Miss Grant The system has a controller that receives events and commands from the various devices scattered around. Each event and command has a four letter code that s the actual signal sent through the communication channels. I want to refer to these in the controller code with symbolic names, so I create event and command classes with a code and a name. I keep them as separate classes (with a superclass) as they play different roles in the controller code. class AbstractEvent... private String name, code; public AbstractEvent(String name, String code) { this.name = name; this.code = code; } public String getCode() { return code;} public String getName() { return name;} public class Command extends AbstractEvent public class Event extends AbstractEvent Figure 2 Class diagram of the state machine framework [TBD Add reset event association to class diagram] The key to the structure is that state class. Each state class keeps track of the events and commands. class State... private String name; private List Command actions = new ArrayList Command (); private Map String, Transition transitions = new HashMap String, Transition (); public void addTransition(Event event, State targetState) { transitions.put(event.getCode(), new Transition(this, event, targetState)); } class Transition... private final State source, target; private final Event trigger; public Transition(State source, Event trigger, State target) { this.source = source; this.target = target; this.trigger = trigger; } public State getSource() {return source;} public State getTarget() {return target;} public Event getTrigger() {return trigger;} public String getEventCode() {return trigger.getCode();} The state machine holds on to its start state. class StateMachine... private State start; public StateMachine(State start) { this.start = start; } Any other states in the machine are then those that are reachable from this state. class StateMachine... public Collection State getStates() { List State result = new ArrayList State (); gatherForwards(result, start); return result; } private void gatherForwards(Collection State result, State start) { if (start == null) return; if (result.contains(start)) return; else { result.add(start); for (State next start.getAllTargets()) { gatherForwards(result, next); } return; } } class State... Collection State getAllTargets() { List State result = new ArrayList State (); for (Transition t transitions.values()) result.add(t.getTarget()); return result; } There is one particular wrinkle to this problem. These controllers have a particular nature to them in that most of the time they are in their start state, which is effectively an idle state. There are events that advance the state machine, and there are events that take you back to that start state. For this case opening the door always takes you back to the start. So I let the machine keep track of reset events. class StateMachine... private List Event resetEvents = new ArrayList Event (); public void addResetEvents(Event... events) { for (Event e events) resetEvents.add(e); } I don t need to have a separate structure for reset events here. I could handle this by simply declaring extra transitions on the state machine like this class StateMachine... private void addResetEvent_byAddingTransitions(Event e) { for (State s getStates()) if (!s.hasTransition(e.getCode())) s.addTransition(e, start); } I prefer explicit reset events on the machine becuase that better expresses the intention of what I m trying to do. While it does complicate the machine a bit, it keeps the clarity of my intention of how a general machine is supposed to work, as well as keeping the intention of how a particular machine is defined. With the structure out of the way, now lets move on to the behavior. As it turns out, it s really quite simple. The controller has a handle method that takes the event code it receives from the device. class Controller... private State currentState; private StateMachine machine; public CommandChannel getCommandChannel() { return commandsChannel; } protected CommandChannel commandsChannel; public void handle(String eventCode) { if (currentState.hasTransition(eventCode)) transitionTo(currentState.targetState(eventCode)); else if (machine.isResetEvent(eventCode)) transitionTo(machine.getStart()); // ignore unknown events } private void transitionTo(State target) { currentState = target; currentState.executeActions(commandsChannel); } class State... public boolean hasTransition(String eventCode) { return transitions.containsKey(eventCode); } public State targetState(String eventCode) { return transitions.get(eventCode).getTarget(); } public void executeActions(CommandChannel commandsChannel) { for (Command c actions) commandsChannel.send(c.getCode()); } class StateMachine... public boolean isResetEvent(String eventCode) { return resetEventCodes().contains(eventCode); } private List String resetEventCodes() { List String result = new ArrayList String (); for (Event e resetEvents) result.add(e.getCode()); return result; } It ignores any events that are not registered on the state. For any events that are recognized, it transitions to the target state and executes any commands defined on that target state. Programming the Controller with a Domain Specific Language Now I ve implemented the state machine model, I can now program Miss Grant s controller like this. Event doorClosed = new Event( doorClosed , D1CL ); Event drawOpened = new Event( drawOpened , D2OP ); Event lightOn = new Event( lightOn , L1ON ); Event doorOpened = new Event( doorOpened , D1OP ); Event panelClosed = new Event( panelClosed , PNCL ); Command unlockPanelCmd = new Command( unlockPanel , PNUL ); Command lockPanelCmd = new Command( lockPanel , PNLK ); Command lockDoorCmd = new Command( lockDoor , D1LK ); Command unlockDoorCmd = new Command( unlockDoor , D1UL ); State idle = new State( idle ); State activeState = new State( active ); State waitingForLightState = new State( waitingForLight ); State waitingForDrawState = new State( waitingForDraw ); State unlockedPanelState = new State( unlockedPanel ); StateMachine machine = new StateMachine(idle); idle.addTransition(doorClosed, activeState); idle.addAction(unlockDoorCmd); idle.addAction(lockPanelCmd); activeState.addTransition(drawOpened, waitingForLightState); activeState.addTransition(lightOn, waitingForDrawState); waitingForLightState.addTransition(lightOn, unlockedPanelState); waitingForDrawState.addTransition(drawOpened, unlockedPanelState); unlockedPanelState.addAction(unlockPanelCmd); unlockedPanelState.addAction(lockDoorCmd); unlockedPanelState.addTransition(panelClosed, idle); machine.addResetEvents(doorOpened); I look at this last bit of code as quite different in nature to the previous peices. The earlier code described how to build the state machine model, this last bit of code is about how to configure that model for one particular controller. You often see divisions like this. On the one hand is library, framework, or component implementation code; on the other is configuration or component assembly code. Essentially it is the separation of common code from variable code. We structure the common code in a set of components that we then configure for different purposes. Here is another way of representing that configuration code. stateMachine start = idle event name= doorClosed code= D1CL / event name= drawOpened code= D2OP / event name= lightOn code= L1ON / event name= doorOpened code= D1OP / event name= panelClosed code= PNCL / command name= unlockPanel code= PNUL / command name= lockPanel code= PNLK / command name= lockDoor code= D1LK / command name= unlockDoor code= D1UL / state name= idle transition event= doorClosed target= active / action command= unlockDoor / action command= lockPanel / /state state name= active transition event= drawOpened target= waitingForLight / transition event= lightOn target= waitingForDraw / /state state name= waitingForLight transition event= lightOn target= unlockedPanel / /state state name= waitingForDraw transition event= drawOpened target= unlockedPanel / /state state name= unlockedPanel action command= unlockPanel / action command= lockDoor / transition event= panelClosed target= idle / /state resetEvent name = doorOpened / /stateMachine This style of representation should look familiar to most readers, I ve expressed it as an XML file. There are several advantages to doing it this way. One obvious reason is that now we don t have to compile a separate java program for each controller we put into the field - instead we can just compile the state machine components plus an appropritate parser into a common jar, and ship the xml file to be read when the machine starts up. Any changes to the behavior of the controller can be done without having to distribute a new jar. (We do, of course, pay for this in that any mistakes in the syntax of the configuration can only be detected at run time.) A second advantage is in the expressiveness of the file itself. We no longer need to worry about the details of making the various connections through variables. Instead we have a more declarative approach that in many ways reads much more clearly. We re also limited in that we can only express configuration in this file - limitations like this often are helpful because they can reduce the chances for people making mistakes in the component assembly code. These advantages are why so many frameworks in Java and C# are configured with XML configuration files. These days it sometimes feels that you re doing more programming with XML than you are with main programming language. Here s another version of the configuration code. events doorClosed D1CL drawOpened D2OP lightOn L1ON doorOpened D1OP panelClosed PNCL end resetEvents doorOpened end commands unlockPanel PNUL lockPanel PNLK lockDoor D1LK unlockDoor D1UL end state idle actions {unlockDoor lockPanel} doorClosed = active end state active drawOpened = waitingForLight lightOn = waitingForDraw end state waitingForLight lightOn = unlockedPanel end state waitingForDraw drawOpened = unlockedPanel end state unlockedPanel actions {unlockPanel lockDoor} panelClosed = idle end This is code, although not in a syntax that s familiar to you. In fact it s a custom syntax that I made up for this example. I think it s a syntax that s easier to write, and above all easier to read, than the XML syntax. It s terser and avoids a lot of the quoting and noise characters that the XML suffers from. You probably wouldn t have done it exactly the same way, but the point is that you can construct whatever syntax you and your team prefers. You can still load it in at runtime (like the XML) but you don t have to (as you don t with the XML) if you want it at compile time. This language is a Domain Specific Language, and shares many of the characteristics of DSLs. Firstly it s suitable only for a very narrow purpose - it can t do anything other than configure this particular kind of state machine. As a result the DSL is very simple - there s no facility for control structures or anything else. It s not even Turing complete. You couldn t write a whole application in this language - all you can do is describe one small aspect of an application. As a result the DSL has to be combined with other languages to get anything done. But the simplicity of the DSL means it s easy to edit and process. Now look again at the XML representation. Is this a DSL? I would argue that it is. It s wrapped in an XML carrier syntax - but it s still a DSL. This example thus raises a design issue - is it better to have custom syntax for a DSL or an XML syntax? The XML syntax can be easier to parse since people are so familiar with parsing XML. (As it happened for this example it took me the about the same amount of time to write the parser for the custom syntax as it did for the XML.) I d contend that the custom syntax is much easier to read, at least in this case. But however you view this choice the core trade-offs around DSLs are the same. Indeed you can argue that most XML configuration files are essentially DSLs. Let s go back a step further, back to the configuration code in Java I showed you earlier - is that a DSL? While you re thinking about that question look at this code. Does this look like a DSL for this problem? event doorClosed, D1CL event drawOpened, D2OP event lightOn, L1ON event doorOpened, D1OP event panelClosed, PNCL command unlockPanel, PNUL command lockPanel, PNLK command lockDoor, D1LK command unlockDoor, D1UL resetEvents doorOpened state idle do actions unlockDoor, lockPanel transitions doorClosed = active end state active do transitions drawOpened = waitingForLight, lightOn = waitingForDraw end state waitingForLight do transitions lightOn = unlockedPanel end state waitingForDraw do transitions drawOpened = unlockedPanel end state unlockedPanel do actions unlockPanel, lockDoor transitions panelClosed = idle end It s a bit noisier than the custom language earlier, but still pretty clear. Readers who have similar language likings to me will probably know that it s Ruby. Ruby gives me a lot of syntactic options that makes for more readable code, so I can make it look very similar to the custom language. Ruby developers would consider this code to be a DSL. I use a subset of the capabilities of Ruby and capture same ideas as our XML and custom syntax. Essentially I m embedding the DSL into ruby, using a subset of ruby as my syntax. To an extent this is more a matter of attitude than of anything else. I m choosing to look at the Ruby code through DSL glasses. But it s a point of view with a long tradition - Lisp programmers often think of creating DSLs inside Lisp. This brings me to pointing out that there are two kinds of textual DSLs which I call external and internal DSLs. AnExternal DSLis a domain specific language represented in a separate language to the main programming language it s working with. This language may be a custom syntax, or it may follow the syntax of another representation (like XML). AnInternal DSLis DSL expressed within the syntax of a general purpose language. It s a stylized use of that language for a domain specific purpose. You may also hear the termembedded DSLas a synonym for internal DSL. Although it is fairly widely used, I avoid this term because you also hear embedded language applied to scripting languages embedded within applications such as VBA in Excel or Scheme in the Gimp. So I use internal DSL to avoid confusion. Now think again about the original java configuration code - is this a DSL? I would argue that it isn t. That code feels like stitching together with an API, while the ruby code above has more the feel of a declarative language. Does this mean you can t do an internal DSL in Java? How about this? public class BasicStateMachine extends StateMachineBuilder { Events doorClosed, drawOpened, lightOn, panelClosed; Commands unlockPanel, lockPanel, lockDoor, unlockDoor; States idle, active, waitingForLight, waitingForDraw, unlockedPanel; ResetEvents doorOpened; protected void defineStateMachine() { doorClosed. code( D1CL ); drawOpened. code( D2OP ); lightOn. code( L1ON ); panelClosed.code( PNCL ); doorOpened. code( D1OP ); unlockPanel.code( PNUL ); lockPanel. code( PNLK ); lockDoor. code( D1LK ); unlockDoor. code( D1UL ); idle .actions(unlockDoor, lockPanel) .transition(doorClosed).to(active) ; active .transition(drawOpened).to(waitingForLight) .transition(lightOn). to(waitingForDraw) ; waitingForLight .transition(lightOn).to(unlockedPanel) ; waitingForDraw .transition(drawOpened).to(unlockedPanel) ; unlockedPanel .actions(unlockPanel, lockDoor) .transition(panelClosed).to(idle) ; } } It s formatted oddly, and uses some unusual programming conventions, but it is valid Java. It s java written in what is these days called a Fluent Interface style. AFluent Interfaceis an API that s designed to read like an internal DSL. This I would call a DSL - although it s more messy than the ruby DSL it still has that declarative flow that a DSL needs. What makes a fluent interface different to a normal API? This is a tough question that I ll spend more time onlater), but it comes down to a rather fuzzy notion of a language-like flow. Given this distinction it s useful to have a name for a non-fluent API - I ll use the termcommand-query API. Languages and Model There s an important inter-relationship here between the various DSLs and the underlying state-machine model. To implement each of these languages I wrote code that translated from expressions in the DSL into calls on the command-query interface of the model. So while I was parsing the custom syntax version and came across commands unlockPanel PNUL I would create a new command object (new Command( unlockPanel , PNUL )) and keep it to one side (in aSymbol Table) so that when I sawactions {unlockPanelI could add it to the appropriate state (usingaddAction). As a result each DSL I ve shown you created the same configuration of objects in the model. The model, as I discussed earlier, is the engine that provides the behavior of the state-machine. So once we have a populated model, we have a running program whose behavior is encoded in the inter-relationships between the objects in that model. This style is often called an Active Object Model, because in order to understand the behavior of the state machine you can t just look at the code, you also have to look at the way object instances are wired together. Of course this is always true to some extent, any program gives different results with different data, but there is a sense of a greater difference here as the presence of the state objects alters the behavior of the system to a significantly greater degree. When people discuss a programming language you often hear them talk about syntax and semantics. The syntax captures the legal expressions of the program, what in the custom syntax DSL is captured by the grammar. The semantics of a program is what it means, that is what it does when it executes. In this case it is the model that defines those semantics - which is why I will refer to it as aSemantic Model. In this example theSemantic Modelis an object model. ASemantic Modelcan also take other forms. It can be a pure data structure with all behavior in separate functions. I would still refer to it as an active model, because the data structure defines the program s behavior. Looking at it from this point of view, the DSL merely acts as a mechanism for expressing how the model is configured. I often refer to a DSL as a thin facade over a framework. Much of the benefits of using this approach comes from the model rather than the DSLs. The fact that I can easily configure a new state machine for a customer is a property of the model, not the DSL. The fact that I can make a change to a controller at run-time, without compiling, is a feature of the model, not the DSL. The fact I m reusing code across multiple installations of controllers is a property of the model, not the DSL. A model provides many benefits without any DSLs present. As a result we use them all the time. We use libraries and frameworks to wisely avoid work. In our own software we construct our own models, building up abstractions that allow us to program faster. Good models, whether published as libraries and frameworks or just serving our own code, can work just fine without any DSL in sight. But DSLs can enhance the the capabilities of a model. The right DSL makes it easier to understand what a particular state machine does. Some DSLs allow you to configure the model at run time. DSLs are thus a useful adjunct to some models. In discussing this example I described a circumstance where the model was built first, and then I layered a DSL over the model to help manipulate it. I described it that way becuase I think that s an easy way to understand how DSLs fit into software development. Although the model-first case is a common one, it isn t the only one. In a different scenario you talk with the domain experts and posit that a state machine approach is something they understand. You then work with the domain experts to create a DSL that they can understand. In this case you build the DSL and model simultaneously. Using Code-Generation In my discussion so far, I process the DSL by populating theSemantic Modeland then execute theSemantic Modelto provide the behavior that I want from the controller. This approach is what s known in language circles as interpretation. When weinterpretsome text, we parse it and immediately produce the result that we want from the program. (Interpret is a tricky word in software circles, since it carries all sorts of connotations for people, however I ll use it strictly to mean this form of immediate execution.) In the language world, the alternative to interpretation is compilation. Withcompilation, we parse some program text and produce an intermediate output, which is then separately processed to provide the behavior we desire. In the context of DSLs the compilation approach is usually referred to ascode-generation. In this case this might mean generating some java code to represent the particular behavior of Miss Grant s controller. Code generation is often awkward in that it often pushes you to an extra compilation. To build your program you have to first compile the state framework and the parser, then run the parser to generate the source code for Miss Grant s controller, then compile that generated code. This makes your build process much more complicated. However an advantage of code generation is that there s no reason why you have to generate code in same programming language that you use for the parser. In this case you can avoid the second compilation step by generating code for a dynamic language such as javascript or jruby. Code generation is also useful when you want to use DSLs with a language platform that doesn t have the tools for DSL support. I ve come across recent projects that generate code for MathCAD, SQL, and COBOL. Many writings on DSLs focus on code-generation, even to the point of making code-generation the primary aim of the exercise. As a result you can find articles and books extolling the virtues of code-generation. In my view, however, code-generation is merely an implementation mechanism, one that isn t actually needed in most cases. Certainly there are plenty of times when you must use code-generation, but there are even more plenty of times when you don t need it. Using code-generation is one case where many people don t use aSemantic Model. In this case you parse the input text and directly produce the generated code. Although this is a common way of working with code-generated DSLs, it isn t one I reccommend for any but the very simplest cases. Using aSemantic Modelallows me to separate the parsing, the execution semantics, and the code generation into separate problems. This separation makes the whole exercise a lot simpler. It also allows me to change my mind. I can change my DSL from an internal to an external DSL (say) without altering my code-generation routines. Similarly I can easily generate multiple outputs without complicating my parse. I can also use both an interpreted model and code generation off the sameSemantic Model. As a result for almost all of this book, I m going to assume aSemantic Modelis present and the centre of the DSL effort. Using Language Workbenches The two styles of DSL I ve shown so far (internal and external) are the traditional ways of thinking about DSLs. They may not be as widely understood and used as they should be, but they have a long history and moderately wide usage. As a result the rest of this book concentrates on getting you started with these approaches using tools that are mature and easy to obtain. But there is a whole new category of tools on the horizon that could change the game of DSLs significantly tools I call Language Workbenches. ALanguage Workbenchis tool designed to help people create new DSLs, together with high quality tooling required to use those DSLs effectively. One of the big disadvantages of using an external DSL is that you re stuck with relatively limited tooling. Setting up syntax highlighting with a text editor is about as far as most people go. While you can argue that the simplicity of a DSL and the small size of the scripts means that may be enough, there s also an argument for the kind of sophisticated tooling that modern post-IntelliJ IDEs support. Language Workbenches make it easy not just to define a parser, but also to define a custom editing environment for that language. All of this is valuable, but the truly interesting aspect of language workbenches is that they allow a DSL designer to go beyond the the traditional text-based source editing, to different forms of language. The most obvious example of this is support for diagrammatic languages, which would allow me to specify the secret panel state machine directly with a state transition diagram. Figure 3 The secret panel state machine displayed in the MetaEdit language workbench.(source MetaCase) Not just does a tool like this allow you to have diagrammtic languages, it also allows you to look at a DSL script from multiple perspectives. In Figure3there is a diagram, but also lists of states and events, and a table to enter the event codes (which could be ommitted from the diagram if there s too much clutter there). This kind of multi-pane visual editing environment has been around for a while in lots of tools, but it s been a lot of effort to build something like this for yourself. One promise of language workbenches is that they make it quite easy to do this, certainly I was easily able to put together a similar example to Figure3quite quickly on my first play with the MetaEdit tool. The tools allows me to define theSemantic Modelfor state machines, define the graphical and tabular editors in Figure3and write a code generator from theSemantic Model. However, while such tools certainly look good, many developers are naturally suspicious of such doodleware tools. There are some very pragmatic reasons why a textual source representation makes sense. As a result other tools head in that direction, providing post-IntelliJ style capabilities such as syntax-directed editing, symbol completion and the like to textual languages. My own suspicion here is that if language workbenches really take off, the languages they ll produce aren t anything like what we consider to be a programming language. One of the common benefits of tools like this is that they allow non-programmers to program. I often sniff at that notion by pointing out that this was the original intent of COBOL. Yet I must also acknowledge a programming environment that has been extremely successful in providing programming tools to non-programmers who program without thinking of themselves of programming - spreadsheets. In programming language terms spreadsheets are based on a quite unusual computational model. Their appeal comes from a very deep integration of the notions of language and tool. Thus it s no surprise that Charles Simonyi combines both a history of development of these kinds of user tools with a long history of developing ideas in language workbenches. As a result I think that language workbenches have a remarkable potential. If they fulfill this they could entirely change the face of software development. This potential, however profound, is still somewhat in the future. It s still early days for language workbenches with new approaches appearing regularly and older tools still subject to deep evolution. As a result I don t have that much to say about them here, as I think they will change quite dramatically during the hoped-for lifetime of this book. But I do have a chapter on them at the end, as I think they are well worth keeping an eye on. Visualization One the great advantages of using a Language Workbench is that this enables you to a wider range of representations of the DSL, in particular graphical representations. However even with a textual DSL you can obtain a diagrammatic representation. Indeed we saw this very early on in this chapter. When looking at Figure1it might have struck you that the diagram was not as neatly drawn as I usually do. The reason for this is that I didn t draw the diagram, I generated it automatically from theSemantic Modelof Miss Grant s controller. Not just do my state machine classes execute, they also are able to render themselves use the dot language. The dot langauge is part of the GraphViz package, which is an open-source tool that allows you to describe mathematical graph structures (nodes and edges) and then automatically plot them. It figures out how to lay out the graph, you just tell it what the nodes and edges are, what shapes to use, and some other hints. Using a tool like GraphViz is extremely helpful for many kinds of DSLs because it gives another representation. Thisvisualizationrepresentation is similar to the DSL itself in that it allows a human to understand the model. The diference between a visualization and the source is that it isn t editable - however it can provide options that are too hard in an editable form, such as a diagram like this. In the terms of a language workbench you can think of a visualization as a read-only projection. It s something that can be less important for graphical language workbenches, since you use a diagram anyway, but it s still sometimes a handy technique. Visualizations don t have to be graphical. I often use a simple textual visualization to help me debug while I m writing a parser. I ve seen people generate visualizations in Excel to help communicate with domain experts. The point is that once you have done the hard work of creating a component framework like this, adding visualizations is really easy. You ll note here that the visualizations are produced from the framework, not the DSL, so you can do this even if you aren t using a DSL to populate the framework. Indeed the techniques in this book can be used for creating visualizations above and beyond DSL usage. A partial parser for a general purpose language can be used to visualize useful aspects of a general purpose program. Any interesting data strucutre can be visualized in interesting ways. Significant Revisions 06 Aug 07 First Draft 09 Apr 08 Split example from general issues
https://w.atwiki.jp/bana/pages/106.html
Home Security Here are quests which focus almost entirely on the aspects of the game which showcase defense options. These generally appear as structures become available, or as expansions are planned to require more effort to defend. The missions are slightly segregated from gameplay as placing defensive structures does not stop Raiders from infiltrating on your land, but it will help to prevent those on your friends list from occupying critical buildings. フロイドにトーチカを トーチカの建設 報酬 250経験値 Next Mission 再びリコイル・リッジへ(手榴弾兵の育成も終わらせること) 石造りの家 バンカーの建設 報酬 250経験値 Next Mission Stone and Troops - Part 2 Stone and Troops - Part 2 Add 1 Unit to the Bunker. Reward 250 XP Homeland Security - Part 1 Unlocked at Level 13 Build 2 Bunkers Reward 750 XP Next Mission Homeland Security - Part 2 Homeland Security - Part 2 Garrison 8 troops inside the Bunkers Reward 750 XP Next Mission Metal Tower Intellectual Metal Tower Intellectual Build 1 Cannon Tower Reward 750 XP Some Men Left Behind Build 1 Garrison Build 1 Blockhouse Reward 3250 XP Next Mission Strange Bedfellows - Part 1 番犬(Watchdogs) Garrison 40 units Note This mission can be completed by repeatedly garrisoning and removing a small number of units since each re-add will increment the counter. Reward 1000 XP 戸締まり用心(The War at Home) Cover 80% of your buildings with defenses. Hint Pillboxes can be used to fulfill this mission easily due to its low costs and fast build times (15m), but requires 1 worker per building. Bunkers and other garrisoned buildings only count toward the total if they hold any troops. Reward 1000 XP
https://w.atwiki.jp/prototype_game/pages/48.html
TWO TICKETS Go to the Lookout Point. CAPT Alex FORCE TAGGART OUT INTO THE OPEN GO to TAGGART S BASE. DESTROY TAGGART S BASE. PURSUE TAGGART CATCH UP TO TAGGART. DESTROY TAGGARTS S REINFORCEMENTS. TAGGART is on the move. FOLLOW HIM. FORCE TAGGART TO FLEE DESTROY TAGGARTS S REINFORCEMENTS. PURSUE TAGGART CATCH UP TO TAGGART. CONSUME TAGGART TAGGART is heading for the bridge. CONSUME HIM NOW. Alex And then there s one. WEB TAGGART Alex Alex I was made for this.
https://w.atwiki.jp/creepingdestroyertkm/pages/19.html
はいりたいです -- (nakabou) 2014-12-07 10 33 32